package br.com.edoc.controller.cadastro;






import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.edoc.entidade.UF;
import br.com.edoc.excecoes.ExceptionApplication;
import br.com.edoc.excecoes.ExceptionValidador;
import br.com.edoc.gerentes.GerenteCadastro;

@ManagedBean(name="cadastroUF")
@SessionScoped
public class CadastroUFController extends CadastroPadraoController{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -6195674349752918815L;
	private UF uf;

	public UF getUf() {
		if(uf==null){
			uf = new UF();
		}
		return uf;
	}

	public void setUf(UF uf) {
		this.uf = uf;
	}

	@Override
	public void acaoInserir() {
		// TODO Auto-generated method stub
		GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
		try {
			gc.incluir(getUf());
			addInfoMessage("UF:"+getUf().getDescricao()+" cadastrado com sucesso");
		} catch (ExceptionApplication e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		} catch (ExceptionValidador e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		}
	}

	@Override
	public void acaoAlterar() {
		// TODO Auto-generated method stub
		GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
		try {
			gc.alterar(getUf());
		} catch (ExceptionApplication e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		} catch (ExceptionValidador e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		}
	}

	@Override
	public void acaoRemover() {
		// TODO Auto-generated method stub
		GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
		try {
			gc.deletar(getUf());
		} catch (ExceptionApplication e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		} 
	}
	
	
}
